Portlets are Java-based Web components, managed by a portlet container, that process requests and generate dynamic content. They are used to display relevant information to portal users. Applications for portlets include the display of email, weather reports, discussion forums, and news. Portals use portlets as pluggable user interface components that provide a presentation layer to back-end information systems. Java Specification Request (JSR) 168 Portlet Specification, defined by the Java Community Process, enables interoperability among portlets and web portals, and its disclosure is hereby incorporated by reference. This specification defines a set of APIs (Application Program Interfaces) for portlets and addresses standardization for preferences, user information, portlet requests and responses, deployment packaging, and security.
Creating a portlet typically requires expertise in Java, J2EE (Java 2 Platform Enterprise Edition), XML (Extensible Markup Language), XML Schema, portlet API (application programming interface) such as JSR-168, and other technologies such as content management software. This task is usually performed by consultants, systems integrators, web developers, or other personnel with the requisite technical expertise. Content is supplied by business users who must work with technical personnel who implement the portlets. Further, reusing portlets is often difficult because of limited configuration capabilities, and requires further involvement from technical personnel.
It would be useful, therefore, to have a way to enable business users to more quickly and easily develop portlets without need for expertise in the underlying technologies. Business users would be able to focus on the content creation task without need to deal directly with underlying technologies.